package com.metier;

import com.beans.Conges;
import com.beans.Prospects;
import com.beans.Users;
import com.dao.CongesDao;
import com.dao.ProspectDao;

import java.util.Date;
import java.util.List;

/**
 *
 * @author moussa
 */
public class CongesMetier {
    CongesDao congesDao;
    Conges conges;
    
    public CongesMetier(){
    	super();
        congesDao = new CongesDao();
        conges = new Conges();       
    }
    
    // méthode de la couche métier permettant de lister les congés et qui
    // retourne la liste des conges des users
    
    public List<Conges> testListCongesMetier() {

        List<Conges> listConges = congesDao.selectAllConges();

        return listConges;
    }
    
    // méthode qui permet d'ajouter un congé pour une personne donnée
    
    public void addCongesMetier(Date cngDateDebut, Date cngDateFin, String cngEtat,long cngNbrJr,Users users){
        
        Conges congesAjouter = new Conges();
        
        congesAjouter.setCngDateDebut(cngDateDebut);
        congesAjouter.setCngDateFin(cngDateFin);
        congesAjouter.setCngEtat(cngEtat);
        congesAjouter.setCngNbreJr(cngNbrJr);
        congesAjouter.setUsers(users);
        
        congesDao.addConges(congesAjouter);  
    }
    public long nbrejr(Date dateDeb, Date dateFin){
    	long j1=dateDeb.getYear()*365+dateDeb.getMonth()*30+dateDeb.getDay();
    	long j2=dateFin.getYear()*365+dateFin.getMonth()*30+dateFin.getDay();
    	return j2-j1-1;
    }
    
    // méthode de la couche métier permettant de modifier un conge pour un utilisateur donné
    
    
    public void updateCongesMetier(Date cngDateDebut, Date cngDateFin, String cngEtat,long cngNbrJr) {
        Conges congesModifier = new Conges();
        
        congesModifier.setCngDateDebut(cngDateDebut);
        congesModifier.setCngDateFin(cngDateFin);
        congesModifier.setCngEtat(cngEtat);
        congesModifier.setCngNbreJr(cngNbrJr);
        
        congesDao.updateConges(congesModifier);
    }
    
    public List<Conges> mesConges(long usrId){
    	CongesDao congesDao= new CongesDao();
    	return congesDao.mesConges(usrId);
    }
    
    //méthode de la couche métier permettent de supprimer un congés pour un user donné
    
   /* public boolean testDeleteCongesMetier(Conges conges) {
		//boolean canDeleted = congesDao.deleteConges(conges);
		//return canDeleted;

	}*/
     
}
